// 如果没有通过拦截器配置域名的话，可以在这里写上完整的URL(加上域名部分)
// let login = '/app/login'; // API数量多的话 就不写在这里了

// 此处第二个参数vm，就是我们在页面使用的this，你可以通过vm获取vuex等操作，更多内容详见uView对拦截器的介绍部分：
// https://uviewui.com/js/http.html#%E4%BD%95%E8%B0%93%E8%AF%B7%E6%B1%82%E6%8B%A6%E6%88%AA%EF%BC%9F
const install = (Vue, vm) => {
	vm.$u.api = {}
	
	// 认证相关
	vm.$u.api.authLogin = params => vm.$u.post('/app/login', params); // 登录
	vm.$u.api.authCodeLogin = params => vm.$u.post('/app/codeLogin', params); // 验证码登录
	vm.$u.api.authFastLogin = params => vm.$u.post('/app/fastLogin', params); // 一键登录
	vm.$u.api.resetLogin = params => vm.$u.post('/app/resetLogin', params); // token过期重试登录
	vm.$u.api.authRegister = params => vm.$u.post('/app/register', params); // 注册
	vm.$u.api.sendCode = params => vm.$u.post('/app/send/code', params); // 获取手机验证码
	vm.$u.api.getRoleById = params => vm.$u.post('/sys/role/getById', params); // 根据编号角色信息
	vm.$u.api.resetPass = (params = {}) => vm.$u.post('/app/resetPass', params); // 修改密码
	vm.$u.api.getAppVersion = (params = {}) => vm.$u.post('/query/searchAppVersion', params); // 获取app版本信息
	
	// 主题相关
	vm.$u.api.getThemeIndex = () => vm.$u.get('/app/center/getThemeIndex'); // 根据角色获取当前主题编号
	vm.$u.api.switchThemeIndex = (params = {}) => vm.$u.post('/app/center/switchThemeIndex', params); // 根据角色更换主题
	
	// 首页模块相关
	vm.$u.api.getHomeModules = () => vm.$u.post('/app/home-module/getHomeModules');
	
	vm.$u.api.userInfo = () => vm.$u.get('/sys/role/info'); // 用户信息
	vm.$u.api.getNoticeInfo = () => vm.$u.get('/userinfo/getNoticeInfo'); // 获取全局通告栏消息
	vm.$u.api.sendEmailCode = (params = {}) => vm.$u.post('/userinfo/sendEmailCode', params); // 发送邮箱验证码
	vm.$u.api.updateEmail = (params = {}) => vm.$u.put('/userinfo/updateCurrentAdminEmail', params); // 编辑邮箱
	vm.$u.api.updatePhone = (params = {}) => vm.$u.put('/userinfo/updateCurrentAdminPhone', params); // 手机换绑
	vm.$u.api.updateRealname = (params = {}) => vm.$u.put('/userinfo/updateCurrentAdminRealname', params); // 修改名称
	vm.$u.api.updateUsername = (params = {}) => vm.$u.put('/userinfo/updateCurrentAdminUsername', params); // 修改登录名
	vm.$u.api.updateUserFace = (params = {}) => vm.$u.put('/userinfo/updateCurrentAdminUserFace', params); // 修改头像
	
	vm.$u.api.getAuthStatus = () => vm.$u.get('/app/auth/getAuthStatus'); // 获取用户所有的权限开关
	// 用户权限开关控制 W001-天气预警提醒
	vm.$u.api.switchStatus = (params = {}) => vm.$u.post('/app/auth/switchStatus', params); 
	
	// 账单相关
	vm.$u.api.getAccountRecord = (params = {}) => vm.$u.post('/person/account-record/getPageData', params); // 账单记录
	vm.$u.api.getAccountDetail = id => vm.$u.post('/person/account-record/getDetail/' + id); // 账单记录详情
	vm.$u.api.delAccount = id => vm.$u.delete('/person/account-record/' + id); // 删除账单记录
	vm.$u.api.getAmtSummary = (params = {}) => vm.$u.post('/person/account-record/getAmtSummary', params); // 账单金额汇总数据
	vm.$u.api.getExpenditureAmtSummary = (params = {}) => vm.$u.post('/person/account-record/getExpenditureAmtSummary', params); // 支出金额数据
	vm.$u.api.getAccountBookList = () => vm.$u.get('/person/account-record/getAccountBookList'); // 获取所有的账本
	vm.$u.api.getTypesByCategory = id => vm.$u.get('/person/account-record/getTypesByCategory/' + id); // 根据类别获取所有的类型
	vm.$u.api.addAccountRecord = (params = {}) => vm.$u.post('/person/account-record', params); // 新增账单记录
	vm.$u.api.upAccountRecord = (params = {}) => vm.$u.put('/person/account-record', params); // 更新账单记录
	
	vm.$u.api.getExpenditureCount = (params = {}) => vm.$u.post('/person/account-record/expenditureCount', params); // 获取支出图表数据
	vm.$u.api.getIncomeCount = (params = {}) => vm.$u.post('/person/account-record/incomeCount', params); // 获取收入图表数据
	vm.$u.api.exportRecordsAndSend = (params = {}) => vm.$u.post('/person/account-record/exportRecordsAndSend', params); // 导出账单记录发送邮箱
	
	vm.$u.api.getAccountPlan = (params = {}) => vm.$u.post('/person/account-plan/getPageData', params); // 账单月计划配置
	vm.$u.api.getAccountPlanDetail = id => vm.$u.post('/person/account-plan/getDetail/' + id); // 账单月计划配置详情
	vm.$u.api.addAccountPlan = (params = {}) => vm.$u.post('/person/account-plan', params); // 新增账单月计划配置
	vm.$u.api.upAccountPlan = (params = {}) => vm.$u.put('/person/account-plan', params); // 更新账单月计划配置
	vm.$u.api.delAccountPlan = id => vm.$u.delete('/person/account-plan/' + id); // 删除账单月计划配置
	
	
	vm.$u.api.getLanguages = () => vm.$u.get('/work/translate/getLanguages'); // 获取所有的翻译类型信息
	vm.$u.api.translate = (params = {}) => vm.$u.post('/work/translate/text', params); // 文本翻译
	
	vm.$u.api.getCityInfo = (params = {}) => vm.$u.post('/weather/searchCityInfo', params); // 获取城市地区信息
	vm.$u.api.getSevenDayWeatherInfo = (params = {}) => vm.$u.post('/weather/searchSevenDayWeatherInfo', params); // 获取7天的天气信息
	vm.$u.api.getWeatherWarningInfo = (params = {}) => vm.$u.post('/weather/searchWeatherWarningInfo', params); // 获取当天天气预警
	vm.$u.api.homeSearchWarningInfo = (params = {}) => vm.$u.post('/app/weather/searchWarningInfo', params); // 首页获取当前天气预警
	
	vm.$u.api.getAddr = (params = {}) => vm.$u.post('/juhe/getAddr', params); // 根据经纬度获取地址信息
	
	vm.$u.api.getPassPageData = (params = {}) => vm.$u.post('/person/pass/getPageData', params); // 获取密码记录信息
	vm.$u.api.delPass = id => vm.$u.delete('/person/pass/' + id); // 删除密码记录
	vm.$u.api.addPass = (params = {}) => vm.$u.post('/person/pass', params); // 新增密码记录
	vm.$u.api.getPassDetail = id => vm.$u.post('/person/pass/getDetail/' + id); // 密码记录详情
	vm.$u.api.upPass = (params = {}) => vm.$u.put('/person/pass', params); // 更新密码记录
	
	vm.$u.api.getLuckdrawConfig = () => vm.$u.get('/activity/luckdraw/getConfig'); // 获取抽奖配置信息
	vm.$u.api.getLuckdrawNum = (params = {}) => vm.$u.post('/activity/luckdraw/getNum', params); // 获取可抽奖次数
	vm.$u.api.luckdraw = () => vm.$u.get('/activity/luckdraw'); // 抽奖
	vm.$u.api.getLuckdrawPageData = (params = {}) => vm.$u.post('/activity/luckdraw/getPageData', params); // 获取抽奖记录
	vm.$u.api.getLuckdrawCode = id => vm.$u.get('/activity/luckdraw/getCode/' + id); // 获取兑换码
	vm.$u.api.cash = (params = {}) => vm.$u.post('/activity/luckdraw/cash', params); // 兑换
	
	vm.$u.api.getPermissionPageData = (params = {}) => vm.$u.post('/app/permission-record/getPageData', params); // 获取审批记录
	vm.$u.api.addPermissionRecord = (params = {}) => vm.$u.post('/app/permission-record', params); // 申请审批
	vm.$u.api.delPermissionRecord = id => vm.$u.delete('/app/permission-record/' + id); // 删除审批
	vm.$u.api.upPermissionRecord = (params = {}) => vm.$u.put('/app/permission-record', params); // 审批
	vm.$u.api.getRoleIdsByParentRoleId = id => vm.$u.get('/app/permission-relevance/getRoleIdsByParentRoleId/' + id); // 根据审批人获取申请人
	vm.$u.api.getPermissionDetail = id => vm.$u.post('/app/permission-record/getDetail/' + id); // 审批详情
	vm.$u.api.getClientIdsByRoleId = id => vm.$u.get('/app/permission-relevance/getClientIdsByRoleId/' + id); // 根据申请人获取所有审批人的APP编号
	vm.$u.api.getParentRoleIdByRoleId = id => vm.$u.get('/app/permission-relevance/getParentRoleIdByRoleId/' + id); // 根据申请人获取所有审批人的编号
	
	// 消息通知相关
	vm.$u.api.getMessagePageData = (params = {}) => vm.$u.post('/app/message-notification/getPageData', params); // 获取消息记录
	vm.$u.api.addMessageNotification = (params = {}) => vm.$u.post('/app/message-notification', params); // 新增消息通知记录
	vm.$u.api.delMessageNotification = id => vm.$u.delete('/app/message-notification/' + id); // 删除消息通知记录
	vm.$u.api.getMessageDetail = id => vm.$u.post('/app/message-notification/getDetail/' + id); // 读消息 消息通知详情
	vm.$u.api.unReadMessageCount = () => vm.$u.get('/app/message-notification/unReadMessageCount'); // 获取未读消息数量
	vm.$u.api.readAllMessage = () => vm.$u.post('/app/message-notification/readAllMessage'); // 标记全部未读消息为已读
	vm.$u.api.clearAllMessage = () => vm.$u.post('/app/message-notification/clearAllMessage'); // 清空所有的已读消息
	
	// 告警记录相关
	vm.$u.api.getAlarmRecordPageData = (params = {}) => vm.$u.post('/alarm/record/getPageData', params); // 获取告警记录
	vm.$u.api.upAlarmRecord = (params = {}) => vm.$u.put('/alarm/record', params); // 更新告警记录
	vm.$u.api.delAlarmRecord = id => vm.$u.delete('/alarm/record/' + id); // 删除告警记录
	vm.$u.api.getRecordCountByProcessStatus = (params = {}) => vm.$u.post("/alarm/record/getRecordCountByProcessStatus", params); // 根据处理状态获取记录图表统计数据
}

export default {
	install
}